#ifndef COLOR_H
#define COLOR_H

#include <string>
#include "SDL/SDL.h"
#include "../common/Constantes.h"

class Color {
private:
	int* color;

	std::string colorToString(const int& nro);

	int formarColor(const int & r, const int & g, const int & b);

	int getR(const int color) ;

	int getG(const int color) ;

	int getB(const int color);

	int stringToInt(std::string s);
	
	// PASE DE STRING HEXA A INT
	char xtod(char c);
 
	int HextoDec(const char *hex, int l);
	
public:

	static const int ROJO;
	static const int VERDE;
	static const int AZUL ;
	static const int BLANCO ;
	static const int CIAN ;
	static const int MAGENTA;
	static const int AMARILLO;
	static const int NEGRO;
	static const int GRIS;
	static const int ROSA;
	static const int VIOLETA;
	static const int CELESTE;
	static const int MARRON ;
	static const int NARANJA;
	static const int LAVANDA;
	static const int TURQUESA;
	static const int OROVIEJO;

	Color(const std::string& alpha);
	Color(const int& R,const int& G,const int& B);

	Color(const Uint32& RGB);

	bool estaProximo(Color * otroColor, int distancia);

	std::string getAlpha();

	int getR();
	
	int getG();

	int getB();

	int getColor();

	Color* opuesto();

	Color* clonar();

	~Color();
};

#endif
